﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using JuegoIngenio;

namespace JuegoIngenio
{
    class Program
    {
        static void Main(string[] args)
        {

            int[] numeros = new int[12];
            int[] numerosAleatorios = new int[12];
            Random rand = new Random(DateTime.UtcNow.Millisecond);


            
            bool resultado = false;
                    while (resultado == false)
                    {
                        //INICIALIZO EL VECTOR
                        for (int j = 0; j < 12; j++)
                            numeros[j] = j + 1;

                       
                        //HAGO RANDOM Y VOY CARGANDO EL VECTOR ALEATORIO
                        //VOY DESCARGANDO EL VECTOR INICIAL PARA NO TENER REPETIDOS
                        int i = 0;
                        while (i < 12)
                        {
                            int n = rand.Next(0, 12);
                            if (numeros[n] != 0)
                            {
                                numerosAleatorios[i++] = numeros[n];
                                numeros[n] = 0;
                            }
                        }

                      
                        //SUMO LAS LINEAS
                        int linea1 = numerosAleatorios[0] + numerosAleatorios[1] + numerosAleatorios[2] + numerosAleatorios[3];
                        int linea2 = numerosAleatorios[3] + numerosAleatorios[4] + numerosAleatorios[5] + numerosAleatorios[6];
                        int linea3 = numerosAleatorios[6] + numerosAleatorios[7] + numerosAleatorios[8] + numerosAleatorios[0];
                        int linea4 = numerosAleatorios[9] + numerosAleatorios[2] + numerosAleatorios[4] + numerosAleatorios[10];
                        int linea5 = numerosAleatorios[10] + numerosAleatorios[5] + numerosAleatorios[7] + numerosAleatorios[11];
                        int linea6 = numerosAleatorios[11] + numerosAleatorios[8] + numerosAleatorios[1] + numerosAleatorios[9];
                        

                        
                        //VERIFICO SI ES LA SOLUCION BUSCADA
                        if (linea1 == linea2 && linea1 == linea3 && linea1 == linea4 && linea1 == linea5 && linea1 == linea6){
                            resultado = true;
                        }

                    }

                    //MUESTRO LA SOLUCION
                    Console.WriteLine();
                    Console.WriteLine("     Los numeros son:");
                    Console.WriteLine("                     numero 1: " + numerosAleatorios[0]);
                    Console.WriteLine("                     numero 2: " + numerosAleatorios[1]);
                    Console.WriteLine("                     numero 3: " + numerosAleatorios[2]);
                    Console.WriteLine("                     numero 4: " + numerosAleatorios[3]);
                    Console.WriteLine("                     numero 5: " + numerosAleatorios[4]);
                    Console.WriteLine("                     numero 6: " + numerosAleatorios[5]);
                    Console.WriteLine("                     numero 7: " + numerosAleatorios[6]);
                    Console.WriteLine("                     numero 8: " + numerosAleatorios[7]);
                    Console.WriteLine("                     numero 9: " + numerosAleatorios[8]);
                    Console.WriteLine("                     numero 10: " + numerosAleatorios[9]);
                    Console.WriteLine("                     numero 11: " + numerosAleatorios[10]);
                    Console.WriteLine("                     numero 12:  " + numerosAleatorios[11]);
                    Console.ReadKey();

        }

 



    }
}
